[INFO] cloning repository https://github.com/danielhirt/kedge
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/danielhirt/kedge" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdanielhirt%2Fkedge", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdanielhirt%2Fkedge'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2025afd9a9311da597af5ff970fb648f32810f1e
[INFO] testing danielhirt/kedge against master#cced03bfd61a304243a34504618ecec86c17063f for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdanielhirt%2Fkedge" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/danielhirt/kedge
[INFO] finished tweaking git repo https://github.com/danielhirt/kedge
[INFO] tweaked toml for git repo https://github.com/danielhirt/kedge written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/danielhirt/kedge on toolchain cced03bfd61a304243a34504618ecec86c17063f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/danielhirt/kedge already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tree-sitter-language v0.1.7
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.115
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.115
[INFO] [stderr]   Downloaded libredox v0.1.15
[INFO] [stderr]   Downloaded shell-words v1.1.1
[INFO] [stderr]   Downloaded tree-sitter-xml v0.7.0
[INFO] [stderr]   Downloaded streaming-iterator v0.1.9
[INFO] [stderr]   Downloaded shellexpand v3.1.2
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.65
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.115
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.115
[INFO] [stderr]   Downloaded predicates-core v1.0.10
[INFO] [stderr]   Downloaded tree-sitter-python v0.23.6
[INFO] [stderr]   Downloaded js-sys v0.3.92
[INFO] [stderr]   Downloaded predicates v3.1.4
[INFO] [stderr]   Downloaded tree-sitter-go v0.23.4
[INFO] [stderr]   Downloaded predicates-tree v1.0.13
[INFO] [stderr]   Downloaded assert_cmd v2.2.0
[INFO] [stderr]   Downloaded tree-sitter-java v0.23.5
[INFO] [stderr]   Downloaded iri-string v0.7.11
[INFO] [stderr]   Downloaded tree-sitter v0.24.7
[INFO] [stderr]   Downloaded webpki-roots v1.0.4
[INFO] [stderr]   Downloaded tree-sitter-rust v0.23.3
[INFO] [stderr]   Downloaded web-sys v0.3.92
[INFO] [stderr]   Downloaded tree-sitter-typescript v0.23.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7fb2b680eec702926696bce118a647f37c59e7b752ab3867e45ce75038d615a2
[INFO] running `Command { std: "docker" "start" "-a" "7fb2b680eec702926696bce118a647f37c59e7b752ab3867e45ce75038d615a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7fb2b680eec702926696bce118a647f37c59e7b752ab3867e45ce75038d615a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7fb2b680eec702926696bce118a647f37c59e7b752ab3867e45ce75038d615a2", kill_on_drop: false }`
[INFO] [stdout] 7fb2b680eec702926696bce118a647f37c59e7b752ab3867e45ce75038d615a2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ae355c3483a77d70a9bafcd900e80eecb3a0d7e57c8e78f4ffbd6e0ab1862c96
[INFO] running `Command { std: "docker" "start" "-a" "ae355c3483a77d70a9bafcd900e80eecb3a0d7e57c8e78f4ffbd6e0ab1862c96", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling tree-sitter-language v0.1.7
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling cc v1.2.58
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling iri-string v0.7.11
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling webpki-roots v1.0.4
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling streaming-iterator v0.1.9
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling tree-sitter v0.24.7
[INFO] [stderr]    Compiling tree-sitter-python v0.23.6
[INFO] [stderr]    Compiling tree-sitter-go v0.23.4
[INFO] [stderr]    Compiling tree-sitter-xml v0.7.0
[INFO] [stderr]    Compiling tree-sitter-java v0.23.5
[INFO] [stderr]    Compiling tree-sitter-typescript v0.23.2
[INFO] [stderr]    Compiling tree-sitter-rust v0.23.3
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling shellexpand v3.1.2
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.10
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling kedge v0.3.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 31s
[INFO] running `Command { std: "docker" "inspect" "ae355c3483a77d70a9bafcd900e80eecb3a0d7e57c8e78f4ffbd6e0ab1862c96", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ae355c3483a77d70a9bafcd900e80eecb3a0d7e57c8e78f4ffbd6e0ab1862c96", kill_on_drop: false }`
[INFO] [stdout] ae355c3483a77d70a9bafcd900e80eecb3a0d7e57c8e78f4ffbd6e0ab1862c96
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3271314cb697272000c8aedb2d25ff9f2a250995e07ac6d601049c7f448160f0
[INFO] running `Command { std: "docker" "start" "-a" "3271314cb697272000c8aedb2d25ff9f2a250995e07ac6d601049c7f448160f0", kill_on_drop: false }`
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling assert_cmd v2.2.0
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling tree-sitter v0.24.7
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling kedge v0.3.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2m 53s
[INFO] running `Command { std: "docker" "inspect" "3271314cb697272000c8aedb2d25ff9f2a250995e07ac6d601049c7f448160f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3271314cb697272000c8aedb2d25ff9f2a250995e07ac6d601049c7f448160f0", kill_on_drop: false }`
[INFO] [stdout] 3271314cb697272000c8aedb2d25ff9f2a250995e07ac6d601049c7f448160f0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 321d21ce0ef05c8a484ea27fd9aa32ad2f2a2cc95529681d9dcfebe525eadd40
[INFO] running `Command { std: "docker" "start" "-a" "321d21ce0ef05c8a484ea27fd9aa32ad2f2a2cc95529681d9dcfebe525eadd40", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.61s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/kedge-60d1121325aefa6e)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/kedge-d871870bb00c6480)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/agent_test.rs (/opt/rustwide/target/debug/deps/agent_test-e58108fdb9591a68)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test empty_command_returns_error ... ok
[INFO] [stderr] err
[INFO] [stdout] test handles_large_stdin_and_stdout ... ok
[INFO] [stdout] test env_var_expansion_missing_var_becomes_empty ... ok
[INFO] [stdout] test invalid_command_returns_spawn_error ... ok
[INFO] [stdout] test env_var_expansion_replaces_dollar_brace_patterns ... ok
[INFO] [stdout] test stderr_does_not_appear_in_stdout ... ok
[INFO] [stdout] test non_zero_exit_returns_error ... ok
[INFO] [stdout] test passes_payload_via_stdin ... ok
[INFO] [stdout] test returns_empty_string_for_no_output ... ok
[INFO] [stdout] test passes_env_vars_to_child ... ok
[INFO] [stdout] test env_var_expansion_passed_to_child_process ... ok
[INFO] [stdout] test handles_shell_quoting ... ok
[INFO] [stdout] test captures_stdout ... ok
[INFO] [stdout] test handles_large_stdout ... ok
[INFO] [stdout] test timeout_kills_process_and_returns_error ... ok
[INFO] [stderr]      Running tests/config_test.rs (/opt/rustwide/target/debug/deps/config_test-25991e52711b13b5)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test missing_required_section_returns_error ... ok
[INFO] [stdout] test config_without_detection_section_uses_defaults ... ok
[INFO] [stderr]      Running tests/detection_test.rs (/opt/rustwide/target/debug/deps/detection_test-d9628723deeb380a)
[INFO] [stdout] test doc_repo_accepts_custom_remote_name ... ok
[INFO] [stdout] test parses_agent_platforms ... ok
[INFO] [stdout] test detection_config_has_default_exclude_dirs ... ok
[INFO] [stdout] test old_config_with_removed_fields_still_parses ... ok
[INFO] [stdout] test fixture_parses_with_default_remote_name ... ok
[INFO] [stdout] test detection_config_accepts_custom_exclude_dirs ... ok
[INFO] [stdout] test agent_instructions_defaults_to_empty ... ok
[INFO] [stdout] test defaults_when_optional_fields_omitted ... ok
[INFO] [stdout] test parses_config_with_agent_timeout_and_env ... ok
[INFO] [stdout] test parses_config_with_api_url_and_key_env ... ok
[INFO] [stdout] test parses_config_with_batch ... ok
[INFO] [stdout] test parses_config_with_git_timeout ... ok
[INFO] [stdout] test doc_repo_defaults_remote_name_to_origin ... ok
[INFO] [stdout] test finds_agent_by_name ... ok
[INFO] [stdout] test parses_config_with_agent_instructions ... ok
[INFO] [stdout] test triage_config_default_values ... ok
[INFO] [stdout] test parses_config_with_triage_command_timeout_env ... ok
[INFO] [stdout] test parses_multiple_doc_repos ... ok
[INFO] [stdout] test parses_doc_repos ... ok
[INFO] [stdout] test returns_error_for_missing_file ... ok
[INFO] [stdout] test parses_full_config ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test remote_url_returns_none_when_not_a_git_repo ... ok
[INFO] [stdout] test remote_url_returns_ssh_url ... ok
[INFO] [stdout] test remote_url_returns_none_when_no_origin ... ok
[INFO] [stdout] test remote_url_returns_origin_url ... ok
[INFO] [stdout] test remote_url_ignores_non_origin_remotes ... ok
[INFO] [stdout] test detection_pipeline_reports_clean_when_no_changes ... ok
[INFO] [stdout] test sig_provenance_detects_drift_without_git_history ... ok
[INFO] [stdout] test reads_file_at_provenance_commit ... ok
[INFO] [stdout] test gets_head_sha ... ok
[INFO] [stdout] test detect_drift_clean_docs_also_have_relative_paths ... ok
[INFO] [stdout] test sig_provenance_reports_clean_when_content_matches ... ok
[INFO] [stdout] test generates_diff_between_commits ... ok
[INFO] [stdout] test detect_drift_sets_doc_repo_to_docs_url_not_code_url ... ok
[INFO] [stdout] test detection_pipeline_finds_drift_when_code_changed ... ok
[INFO] [stdout] test sig_provenance_survives_rebase ... ok
[INFO] [stdout] test detect_drift_across_multiple_doc_dirs ... ok
[INFO] [stdout] test detect_drift_multiple_dirs_mixed_clean_and_drifted ... ok
[INFO] [stdout] test detect_drift_rejects_anchor_with_path_traversal ... ok
[INFO] [stdout] test detect_drift_rejects_invalid_provenance_format ... ok
[INFO] [stdout] test detect_drift_stores_repo_relative_doc_paths ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.46s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/fingerprint_test.rs (/opt/rustwide/target/debug/deps/fingerprint_test-1d53f46ebba1c188)
[INFO] [stdout] 
[INFO] [stdout] running 29 tests
[INFO] [stdout] test language_detection_from_extension ... ok
[INFO] [stdout] test content_hash_differs_for_different_content ... ok
[INFO] [stdout] test content_hash_produces_consistent_output ... ok
[INFO] [stdout] test go_fingerprint_ignores_whitespace ... ok
[INFO] [stdout] test go_fingerprint_detects_changes ... ok
[INFO] [stdout] test compute_sig_uses_content_hash_for_unknown_extensions ... ok
[INFO] [stdout] test compute_sig_produces_prefixed_output ... ok
[INFO] [stdout] test ast_fingerprint_ignores_whitespace_changes ... ok
[INFO] [stdout] test ast_fingerprint_ignores_comment_changes ... ok
[INFO] [stdout] test compute_sig_differs_for_changes ... ok
[INFO] [stdout] test ast_fingerprint_detects_code_changes ... ok
[INFO] [stdout] test compute_sig_is_consistent ... ok
[INFO] [stdout] test ast_fingerprint_with_symbol_filters_to_method ... ok
[INFO] [stdout] test xml_fingerprint_detects_structural_changes ... ok
[INFO] [stdout] test tsx_fingerprint_detects_changes ... ok
[INFO] [stdout] test tsx_fingerprint_parses_jsx ... ok
[INFO] [stdout] test python_compute_sig_works ... ok
[INFO] [stdout] test python_fingerprint_ignores_whitespace ... ok
[INFO] [stdout] test python_fingerprint_ignores_comments ... ok
[INFO] [stdout] test python_symbol_scoped_decorated_method ... ok
[INFO] [stdout] test python_symbol_scoped_standalone_function ... ok
[INFO] [stdout] test rust_fingerprint_ignores_whitespace ... ok
[INFO] [stdout] test rust_fingerprint_ignores_comments ... ok
[INFO] [stdout] test python_fingerprint_detects_changes ... ok
[INFO] [stdout] test python_symbol_scoped_class_method ... ok
[INFO] [stdout] test rust_compute_sig_works ... ok
[INFO] [stdout] test rust_symbol_scoped_standalone_function ... ok
[INFO] [stdout] test rust_symbol_scoped_impl_method ... ok
[INFO] [stdout] test rust_fingerprint_detects_changes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/frontmatter_test.rs (/opt/rustwide/target/debug/deps/frontmatter_test-569dd91ca0f59eff)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test returns_none_for_no_kedge_block ... ok
[INFO] [stdout] test returns_none_for_file_without_frontmatter ... ok
[INFO] [stdout] test preserves_raw_frontmatter_for_kiro_fields ... ok
[INFO] [stdout] test scan_docs_with_empty_exclusions_finds_all ... ok
[INFO] [stdout] test update_provenance_batch_non_matching_anchor_leaves_file_unchanged ... ok
[INFO] [stdout] test scan_docs_excludes_directories ... ok
[INFO] [stdout] test update_provenance_batch_updates_multiple_anchors ... ok
[INFO] [stdout] test update_provenance_updates_single_anchor ... ok
[INFO] [stdout] test preserves_doc_content_after_frontmatter ... ok
[INFO] [stdout] test parses_kedge_frontmatter_with_anchors ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/install_test.rs (/opt/rustwide/target/debug/deps/install_test-e6d41a0426f76215)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test filters_by_group ... ok
[INFO] [stdout] test install_as_links_rejects_group_with_path_traversal ... ok
[INFO] [stdout] test install_non_recursive_skips_nested_files ... ok
[INFO] [stdout] test copies_steering_files_in_workspace_mode ... ok
[INFO] [stdout] test install_skips_symlinked_agents_file ... ok
[INFO] [stdout] test install_recursive_skips_symlinks_in_subdirs ... ok
[INFO] [stdout] test install_skips_symlinked_md_files_in_shared ... ok
[INFO] [stdout] test install_recursive_copies_nested_files ... ok
[INFO] [stdout] test install_recursive_preserves_directory_structure ... ok
[INFO] [stderr]      Running tests/integration_test.rs (/opt/rustwide/target/debug/deps/integration_test-9f6b11150b07772a)
[INFO] [stdout] test install_recursive_as_links ... ok
[INFO] [stdout] test install_to_workspace_handles_missing_shared_dir ... ok
[INFO] [stdout] test install_to_workspace_rejects_agents_file_with_path_traversal ... ok
[INFO] [stdout] test install_to_workspace_rejects_group_with_path_traversal ... ok
[INFO] [stdout] test install_skips_symlinked_md_files_in_group ... ok
[INFO] [stdout] test creates_symlinks_in_link_mode ... ok
[INFO] [stdout] test install_to_workspace_handles_missing_kedge_dir ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 25 tests
[INFO] [stdout] test init_skips_existing_config ... ok
[INFO] [stdout] test init_creates_config ... ok
[INFO] [stdout] test status_with_no_docs_shows_message ... ok
[INFO] [stdout] test status_lists_anchors ... ok
[INFO] [stdout] test triage_rejects_path_traversal_in_drift_report ... ok
[INFO] [stdout] test triage_with_provider_none_outputs_all_major ... ok
[INFO] [stdout] test check_with_config_and_env_prefers_env ... ok
[INFO] [stdout] test sync_advances_provenance ... ok
[INFO] [stdout] test link_stamps_sig_provenance ... ok
[INFO] [stdout] test update_default_stamps_provenance ... ok
[INFO] [stdout] test update_exits_nonzero_when_agent_fails ... ok
[INFO] [stdout] test check_works_with_env_only_no_config ... ok
[INFO] [stdout] test agent_payload_has_correct_target_repo_and_relative_path ... ok
[INFO] [stdout] test check_writes_report_to_file ... ok
[INFO] [stdout] test kedge_check_detects_drift_end_to_end ... ok
[INFO] [stdout] test check_env_var_overrides_git_remote ... ok
[INFO] [stdout] test check_uses_git_remote_url_when_env_not_set ... ok
[INFO] [stdout] test check_detects_drift_via_git_remote_url ... ok
[INFO] [stdout] test update_no_stamp_summary_reports_deferred_docs ... ok
[INFO] [stdout] test update_with_provider_none_skips_triage_and_invokes_agent ... ok
[INFO] [stdout] test update_exits_zero_when_agent_succeeds ... ok
[INFO] [stdout] test update_no_stamp_does_not_affect_agent_invocation ... ok
[INFO] [stdout] test update_no_stamp_skips_provenance_write ... ok
[INFO] [stdout] test triage_without_config_fails_with_helpful_error ... ok
[INFO] [stdout] test check_without_config_or_env_fails_with_helpful_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.86s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/java_project_test.rs (/opt/rustwide/target/debug/deps/java_project_test-075da3c6d3c09e32)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test java_project_install_filters_by_security_group ... ok
[INFO] [stdout] test java_project_install_copies_group_and_shared ... ok
[INFO] [stdout] test install_from_subdirectory_finds_steering_files ... ok
[INFO] [stdout] test java_project_clean_after_stamping ... ok
[INFO] [stdout] test java_project_non_anchored_change_stays_clean ... ok
[INFO] [stdout] test java_project_detects_drift_after_code_change ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.73s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/models_test.rs (/opt/rustwide/target/debug/deps/models_test-99dd8e52e08045ed)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test severity_ordering_no_update_lt_minor_lt_major ... ok
[INFO] [stdout] test agent_response_deserialize_mr_urls_array ... ok
[INFO] [stdout] test agent_response_deserialize_mr_url_only ... ok
[INFO] [stdout] test agent_response_deserialize_empty_json_all_defaults ... ok
[INFO] [stderr]      Running tests/output_test.rs (/opt/rustwide/target/debug/deps/output_test-5eab1a7e752d983d)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test parse_agent_output_json_mr_url_not_in_mr_urls_gets_prepended ... ok
[INFO] [stdout] test parse_agent_output_invalid_json_falls_back_to_scraping ... ok
[INFO] [stdout] test scrape_urls_extracts_http ... ok
[INFO] [stdout] test parse_agent_output_json_with_both_deduplicates ... ok
[INFO] [stdout] test parse_agent_output_json_with_mr_urls_array ... ok
[INFO] [stdout] test scrape_urls_empty_string ... ok
[INFO] [stdout] test parse_agent_output_json_with_mr_url ... ok
[INFO] [stdout] test scrape_urls_extracts_https ... ok
[INFO] [stdout] test scrape_urls_extracts_multiple ... ok
[INFO] [stdout] test parse_agent_output_empty_string ... ok
[INFO] [stdout] test scrape_urls_no_urls_in_text ... ok
[INFO] [stdout] test parse_agent_output_json_empty_status_no_urls ... ok
[INFO] [stdout] test scrape_urls_strips_single_quotes ... ok
[INFO] [stdout] test scrape_urls_strips_trailing_punctuation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/remediation_test.rs (/opt/rustwide/target/debug/deps/remediation_test-4cb4c3dd231b1caa)
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test agent_payload_uses_default_instructions_when_empty ... ok
[INFO] [stdout] test auto_merge_flag_set_for_configured_severities ... ok
[INFO] [stdout] test batch_auto_merge_is_all_or_nothing ... ok
[INFO] [stdout] test batch_payload_auto_merge_true_when_all_qualify ... ok
[INFO] [stdout] test agent_payload_overrides_with_custom_instructions ... ok
[INFO] [stdout] test batch_payload_creates_targets_from_multiple_docs ... ok
[INFO] [stdout] test batch_payload_auto_merge_false_for_empty_docs ... ok
[INFO] [stdout] test batch_payload_overrides_with_custom_instructions ... ok
[INFO] [stdout] test builds_agent_payload_from_triaged_doc ... ok
[INFO] [stdout] test drifted_agent_anchors_filters_all_no_update ... ok
[INFO] [stdout] test filters_no_update_from_remediation ... ok
[INFO] [stdout] test partition_all_docs_need_remediation ... ok
[INFO] [stdout] test partition_empty_report_returns_empty_lists ... ok
[INFO] [stdout] test partition_mixed_severities ... ok
[INFO] [stdout] test should_auto_merge_empty_list_matches_nothing ... ok
[INFO] [stdout] test should_auto_merge_is_case_insensitive ... ok
[INFO] [stdout] test batch_payload_filters_no_update_anchors_from_targets ... ok
[INFO] [stdout] test batch_payload_auto_merge_false_when_any_doc_doesnt_qualify ... ok
[INFO] [stdout] test batch_payload_uses_update_docs_batch_action ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/repo_cache_test.rs (/opt/rustwide/target/debug/deps/repo_cache_test-071b6cd415de5253)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test get_or_clone_refresh_picks_up_new_branch_commits ... ok
[INFO] [stdout] test same_url_different_refs_get_separate_cache_dirs ... ok
[INFO] [stderr]      Running tests/safety_test.rs (/opt/rustwide/target/debug/deps/safety_test-0ddf4646c41a5082)
[INFO] [stdout] test get_or_clone_works_with_tag_ref ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.29s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 34 tests
[INFO] [stdout] test git_ref_accepts_feature_branch ... ok
[INFO] [stdout] test bare_name_accepts_name_with_extension ... ok
[INFO] [stdout] test git_ref_accepts_main ... ok
[INFO] [stdout] test bare_name_accepts_plain_name ... ok
[INFO] [stdout] test git_ref_accepts_version_tag ... ok
[INFO] [stdout] test provenance_accepts_valid_7_char_short_sha ... ok
[INFO] [stdout] test provenance_accepts_sig_with_valid_hex ... ok
[INFO] [stdout] test provenance_accepts_valid_40_char_hex_sha ... ok
[INFO] [stdout] test path_within_canon_allows_path_inside_base ... ok
[INFO] [stdout] test path_within_allows_path_inside_base ... ok
[INFO] [stdout] test repo_url_accepts_file_scheme ... ok
[INFO] [stdout] test repo_url_accepts_https ... ok
[INFO] [stdout] test repo_url_accepts_ssh ... ok
[INFO] [stdout] test bare_name_rejects_double_dot ... ok
[INFO] [stdout] test git_ref_rejects_empty_string ... ok
[INFO] [stdout] test bare_name_rejects_backslash ... ok
[INFO] [stdout] test git_ref_rejects_double_dot ... ok
[INFO] [stdout] test sanitize_url_leaves_file_scheme_unchanged ... ok
[INFO] [stdout] test git_ref_rejects_starting_with_dash ... ok
[INFO] [stdout] test repo_url_rejects_starting_with_dash ... ok
[INFO] [stdout] test path_within_rejects_traversal_escaping_base ... ok
[INFO] [stdout] test sanitize_url_strips_userinfo_from_https ... ok
[INFO] [stdout] test provenance_rejects_revision_expression_head_tilde ... ok
[INFO] [stdout] test sanitize_url_leaves_ssh_style_url_unchanged ... ok
[INFO] [stdout] test provenance_rejects_empty_string ... ok
[INFO] [stdout] test sanitize_url_preserves_url_without_credentials ... ok
[INFO] [stdout] test provenance_rejects_short_sha_under_7_chars ... ok
[INFO] [stdout] test provenance_rejects_sig_with_empty_hex ... ok
[INFO] [stdout] test provenance_rejects_revision_expression_range ... ok
[INFO] [stdout] test provenance_rejects_string_starting_with_dash ... ok
[INFO] [stdout] test provenance_rejects_sig_with_non_hex_chars ... ok
[INFO] [stdout] test bare_name_rejects_forward_slash ... ok
[INFO] [stdout] test repo_url_rejects_empty_string ... ok
[INFO] [stdout] test path_within_canon_rejects_traversal_escaping_base ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 34 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/triage_test.rs (/opt/rustwide/target/debug/deps/triage_test-c21614904b428842)
[INFO] [stdout] 
[INFO] [stdout] running 24 tests
[INFO] [stdout] test apply_classifications_unmatched_anchor_defaults_to_minor ... ok
[INFO] [stdout] test parse_triage_response_empty_json_array_returns_empty_vec ... ok
[INFO] [stdout] test parses_response_with_bare_code_fences ... ok
[INFO] [stdout] test parses_response_with_all_severity_levels ... ok
[INFO] [stdout] test parse_response_ignores_extra_fields ... ok
[INFO] [stdout] test applies_triage_to_drift_report ... ok
[INFO] [stdout] test apply_classifications_preserves_current_sig ... ok
[INFO] [stdout] test apply_classifications_handles_multiple_docs ... ok
[INFO] [stdout] test parses_triage_response_json ... ok
[INFO] [stdout] test parses_triage_response_with_code_fences ... ok
[INFO] [stdout] test parses_response_with_leading_trailing_whitespace ... ok
[INFO] [stdout] test parses_response_with_multiple_anchors ... ok
[INFO] [stdout] test promote_drift_report_empty_report ... ok
[INFO] [stdout] test parses_response_with_null_symbol ... ok
[INFO] [stdout] test promote_drift_report_preserves_anchor_fields ... ok
[INFO] [stdout] test promote_drift_report_sets_all_anchors_to_major ... ok
[INFO] [stdout] test apply_classifications_empty_classifications_all_default_to_minor ... ok
[INFO] [stdout] test builds_triage_prompt_from_drift_report ... ok
[INFO] [stdout] test parse_triage_response_malformed_json_returns_error ... ok
[INFO] [stdout] test parse_response_rejects_missing_path ... ok
[INFO] [stdout] test parse_response_rejects_invalid_severity_value ... ok
[INFO] [stdout] test parse_triage_response_empty_string_returns_error ... ok
[INFO] [stdout] test parse_response_rejects_json_object_instead_of_array ... ok
[INFO] [stdout] test parse_response_rejects_missing_severity ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests kedge
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "321d21ce0ef05c8a484ea27fd9aa32ad2f2a2cc95529681d9dcfebe525eadd40", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "321d21ce0ef05c8a484ea27fd9aa32ad2f2a2cc95529681d9dcfebe525eadd40", kill_on_drop: false }`
[INFO] [stdout] 321d21ce0ef05c8a484ea27fd9aa32ad2f2a2cc95529681d9dcfebe525eadd40
